In stereo vision systems, three-dimensional (3D) information may be extracted from multiple two-dimensional (2D) images such as digital images. For example, images from a scene obtained from two or more vantage points (e.g., horizontally aligned vantage points) may be compared to determine disparity information (e.g., distances between positions of the same image regions in the two images) for the scene. Such disparity information may be provided via a disparity map including disparity information for positions within the images, for example. Furthermore, such disparity information may be used to generate a depth map indicating relative depth information for objects in the scene or the like
In some examples, such disparity maps may include holes or hole regions where the technique used to generate the disparity map may fail to produce a valid result. For example, a disparity map may be generated based on a comparison of image regions within the source images using a selected error measure such as a sum of absolute differences, a least squares measure, or the like. Failures to produce valid results using such techniques may occur at occlusions (e.g., cases when an object visible in one input image is hidden by another object in the other input image) or mismatches (e.g., cases where there are large areas indistinguishable by the chose error measure such that no image region matches are made during the disparity match generation) or the like. Such failures to produce valid results may be relatively common in practice as large areas of uniform color (e.g., a large gray wall or a clear blue sky or the like) make image region matching difficult.
Holes or hole regions in disparity maps may result in unacceptable visual experiences from applications and image processing that use such disparity maps having such holes or hole regions. For example, in digital photography applications, disparity maps may be used for layer or segmentation effects, parallax view creation, re-focusing, or the like. If such applications use disparity maps having holes or hole regions, unacceptably poor visual results may occur.
In some implementations, such holes or hole regions in an initial disparity map may be filled to generate a final disparity map free of holes or hole regions. However, current techniques for filling disparity map holes may lack quality (e.g., lacking smooth transitions from hole boundaries to hole interiors, providing noticeable patches, blocky or grainy results, or the like) or they may be computationally expensive.
It is with respect to these and other considerations that the present improvements have been needed. Such improvements may become critical as the desire to provide and utilize high quality disparity maps becomes more widespread.